<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShader" inherits="Shader" category="Core" version="3.1">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="add_node">
			<return type="void">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="node" type="VisualShaderNode">
			</argument>
			<argument index="2" name="position" type="Vector2">
			</argument>
			<argument index="3" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_connect_nodes" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="from_node" type="int">
			</argument>
			<argument index="2" name="from_port" type="int">
			</argument>
			<argument index="3" name="to_node" type="int">
			</argument>
			<argument index="4" name="to_port" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="connect_nodes">
			<return type="int" enum="Error">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="from_node" type="int">
			</argument>
			<argument index="2" name="from_port" type="int">
			</argument>
			<argument index="3" name="to_node" type="int">
			</argument>
			<argument index="4" name="to_port" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="disconnect_nodes">
			<return type="void">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="from_node" type="int">
			</argument>
			<argument index="2" name="from_port" type="int">
			</argument>
			<argument index="3" name="to_node" type="int">
			</argument>
			<argument index="4" name="to_port" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node" qualifiers="const">
			<return type="VisualShaderNode">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node_connections" qualifiers="const">
			<return type="Array">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node_list" qualifiers="const">
			<return type="PoolIntArray">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node_position" qualifiers="const">
			<return type="Vector2">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_valid_node_id" qualifiers="const">
			<return type="int">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_node_connection" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="from_node" type="int">
			</argument>
			<argument index="2" name="from_port" type="int">
			</argument>
			<argument index="3" name="to_node" type="int">
			</argument>
			<argument index="4" name="to_port" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_node">
			<return type="void">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_mode">
			<return type="void">
			</return>
			<argument index="0" name="mode" type="int" enum="Shader.Mode">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_node_position">
			<return type="void">
			</return>
			<argument index="0" name="type" type="int" enum="VisualShader.Type">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<argument index="2" name="position" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset">
		</member>
	</members>
	<constants>
		<constant name="TYPE_VERTEX" value="0" enum="Type">
		</constant>
		<constant name="TYPE_FRAGMENT" value="1" enum="Type">
		</constant>
		<constant name="TYPE_LIGHT" value="2" enum="Type">
		</constant>
		<constant name="TYPE_MAX" value="3" enum="Type">
		</constant>
		<constant name="NODE_ID_INVALID" value="-1">
		</constant>
		<constant name="NODE_ID_OUTPUT" value="0">
		</constant>
	</constants>
</class>
